#!/usr/bin/python3
#python script
print(str(1.0 / 2))#str()：函数返回一个用户易读的表达形式，输出的值转成字符串
print(type(str(1 / 0.5)))
print(repr('Hello world\n'))#repr() 函数可以转义字符串中的特殊字符
a = 1
b = 2
print(repr((a, b, ('hello','fd'))))#repr() 的参数可以是 Python 的任何对象
'''
str.format() 函数来格式化输出值，可以使输出的形式更加多样 
format() 中的参数会替换掉括号及其里面的字符 (称作格式化字段)i
在括号中写入数字，可以指定传入对象在format中的位置
还可以在format中插入关键字参数'''
print('{0} and {1}'.format('aaa', 'bbb')) 
print('{1} and {0}'.format('aaa', 'bbb')) 
print('{name}网址：{site}!'.format(name = 'baidu', site = 'www.baidu.com'))
print('{0} + {1} = {out}'.format('apple', 'pine', out = 'pineapple'))

import math
print('constant PI is nearly equal to {}'.format(math.pi))
print('constant PI is nearly equal to {0: 10.5f}'.format(math.pi))
'''注：{0:10.5f}：其中0是位置参数，10表示为格式化的结果保留至少10个占位符，f
表示格式化浮点数字，可指定小数点后的精度，5即指定的小数点后的精度 
在 ':' 后传入一个整数, 可以保证该域至少有这么多的宽度。 在美化表格时很有用'''
table = {'apple': 1, 'banana': 2, 'pineapple': 3}
for name, number in table.items():
	print('{0:10} ==> {1:10d}'.format(name, number))
print('PI is nearly: %5.3f.' % math.pi)

s = input('Please enter: ')
print('You entered:', s)

f = open('test', 'w')
f.write('Do you like me?\nYes!\n')
f.close()

f = open('test', "r")
s = f.readlines()#Read all lines
print(s)
f.close()
f = open('test', "r")
s = f.readline()#Read one line
print(s)
f.close()
f = open('test', "w")
#f.write(string)方法， 将 string 写入到文件中, 然后返回写入的字符数
num = f.write("Study hard and make progress every day!\nCome on!\n!")
print('num = ', num)
f.close()
f = open('test', "w")
value = ('www.baidu.com', 13)
#如果要写入一些不是字符串的东西, 那么需要先进行转换
s = str(value)
print(s)
f.write(s + '\n')
f.close
'''
filename.seek()：方法用于移动文件读取指针到指定位置。 
如果要改变文件当前的位置, 可以使用 filename.seek(offset, from_what) 函数。 
from_what 的值, 参数中 0 表示文件开头, 1 表示文件当前位置, 2 表示文件的结
尾'''
f = open('test', 'rb+')
f.write(b'0123456789abcdef')#TypeError: a bytes-like object is required, not 'str'
print(f.read(2))
f.seek(0)
print(f.read(2))
f.seek(-8, 2)
print(f.read(1))
f.close()
'''
output:
root@aliyun:~/pylearn/basic # ./input_output.py 
0.5
<class 'str'>
'Hello world\n'
(1, 2, ('hello', 'fd'))
aaa and bbb
bbb and aaa
baidu网址：www.baidu.com!
apple + pine = pineapple
constant PI is nearly equal to 3.141592653589793
constant PI is nearly equal to    3.14159
apple      ==>          1
banana     ==>          2
pineapple  ==>          3
PI is nearly: 3.142.
Please enter: hello
You entered: hello
['Do you like me?\n', 'Yes!\n']
Do you like me?

num =  50
('www.baidu.com', 13)
b', '
b'01'
b'e''''
